<?php

namespace App\Exports;

use Carbon\Carbon;
use Encore\Admin\Grid\Exporters\ExcelExporter;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithMapping;
use App\Models\User;
use App\Models\CrmConfig;

class MissionExport extends ExcelExporter implements WithMapping, WithHeadings, ShouldAutoSize
{

    //这里是导出来的文件的名字和格式
    protected $fileName = '任务列表.xlsx';
    //这里是excel的标题
    public function headings(): array
    {
        return [
            '编号',
            '任务名称',
            '任务周期',
            '外呼任务数',
            '任务类型',
            '所属部门',
            '任务坐席',
            '任务发布人',
            '任务状态',
            '备注',
        ];
    }

    public function map($mission): array
    {	//这里是字段的值 如果是主表的数据 直接对象的形式就可以写出来
        //如果是关联的表的数据 可以通过data_get()去渲染
        //其他部分是枚举类字段值的语义化

        $ca = [1=>'部门任务',2=>'个人任务'];
        return [
            $mission->id,
            $mission->name,
            Carbon::parse($mission->start_at)->toDateString() .' ~ ' . Carbon::parse($mission->end_at)->toDateString(),
            $mission->wanted,
            $ca[$mission->category],
            $mission->department_id,
            $mission->employee_id,
            $mission->publish_by,
            $mission->status,
            $mission->note,
        ];
    }



}
